package com.ygxsk.carhome.ui.adapter;

import android.text.TextUtils;
import android.widget.ImageView;
import android.widget.LinearLayout;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.bumptech.glide.Glide;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.ygxsk.carhome.R;
import com.ygxsk.carhome.enumwrap.RepairStatusNumber;
import com.ygxsk.carhome.response.PropertyRepairBean;
import com.ygxsk.carhome.utils.CommUtils;

import java.util.List;

/*
 * @Author:itchenqi175@163.com
 * @Time:2023/12/28  21:07
 * @Description: 物业报修列表的适配器类
 */
public class PropertyRepairAdapter extends BaseQuickAdapter<PropertyRepairBean, BaseViewHolder> {

    public PropertyRepairAdapter(int layoutResId, @Nullable List<PropertyRepairBean> data) {
        super(layoutResId, data);

        //            baseViewHolder.addOnClickListener(R.id.layoutcall);//拨打电话布局
//            baseViewHolder.addOnClickListener(R.id.layoutworkerorderqianzi);//工单签字的功能
//            baseViewHolder.addOnClickListener(R.id.layoutpingjia);//评价布局
//            baseViewHolder.addOnClickListener(R.id.layoutlook);//查看进度布局内容

        addChildClickViewIds(R.id.layoutcall, R.id.layoutworkerorderqianzi, R.id.layoutpingjia, R.id.layoutlook);

    }

    @Override
    protected void convert(@NonNull BaseViewHolder baseViewHolder, PropertyRepairBean item) {

        if (item != null) {

            //0未处理,10处理中,20处理完,21已回访,22已评价,30已取消
            //处理完,已回访.展示评价。其余不展示，只有未处理 才能取消订单

            //2018年04月09日。
            //报修状态：0未处理,10处理中,20处理完,21已回访,22已评价,30已取消
            //只有状态为20或21的时候才能进行评价

            //获取内容填充布局id
            //String tagName = item.getTagName();
            String createTime = item.getCreateTime();//时间内容
            String stateName = item.getRepairStatusInfo();//状态内容

            //测试写20或者21.
            String stateValue = item.getRepairStatus();//状态的值内容。

            //小区名称没有了
            //String communityName  = item.getCommunityName();//小区名称

            //这里应该是areaName
            //String communityName  = item.geta
            String houseNo = item.getHouseNo();//房间编号

            //test
            //String imageUrlcategory =ConstantApi.imageUrl9;
            String imageUrlcategory = item.getImgUrl();
            //String categoryName = "洗菜盆";
            String categoryName = item.getTypeName();

            String repairContent = item.getContent();//维修内容
            //String phoneNumber  = item.getPhoneNumber();//先不处理

            //工单签字的文件信息,业主签字的文件
            String tenantsAutoGraphImage = item.getTenantsautographimage();

            //------------------------------------------------------------------------------------
            //这里需要设置文本的隐藏和显示 而且有部分控件需要点击。
            LinearLayout layoutpingjia = (LinearLayout) baseViewHolder.getView(R.id.layoutpingjia);
            //2022年12月9日 新增的【工单签字功能】
            // 1、增加工单签字，功能同员工端业主签字
            // 2、工单签字为动态显示，如已在员工端签字，则业主端APP不显示该字段
            LinearLayout layoutWorkerOrderQianZi = (LinearLayout) baseViewHolder.getView(R.id.layoutworkerorderqianzi);

            //itchen测试评价的时候放开
            //CommUtils.setViewVisible(layoutpingjia);

            //已完成 或者 已回访,出现评价图标
            if (TextUtils.equals(stateValue, RepairStatusNumber.STATUS_20.getIndex())//ExtraValue.REPAIRSTATUS_COMPLETE
                    || TextUtils.equals(stateValue, RepairStatusNumber.STATUS_21.getIndex())) {//ExtraValue.REPAIRSTATUS_RETURNVISIT

                //2024年1月4日11:45:11 代码，是要去掉【工单签字】+【评价】两个功能，所以隐藏
                //原始代码
//                CommUtils.setViewVisible(layoutpingjia);
                // TODO: 2024/1/4 11:47 为了屏蔽代码
                //为了屏蔽代码
                CommUtils.setViewGone(layoutpingjia);
                //-------------------------------------------------------------------------------------
                //是有显示或者隐藏的判断，其实不用后台给字段，只需要【判断签字文件是不是空值就可以】；
                //2022-12-12 09:24 如果发现没有业主签字的内容那么该布局就展示，为了引导签字，如果签字了 就隐藏
                //bug-发现刚提交的报修，竟然也有【工单签字】
                if (TextUtils.isEmpty(tenantsAutoGraphImage)) {
                    //2024年1月4日11:45:11 代码，是要去掉【工单签字】+【评价】两个功能，所以隐藏
                    //原始代码
//                   CommUtils.setViewVisible(layoutWorkerOrderQianZi);
                    // TODO: 2024/1/4 11:47 为了屏蔽代码
                    //功能不完善，做屏蔽的代码
                    CommUtils.setViewGone(layoutWorkerOrderQianZi);
                } else {
                    CommUtils.setViewGone(layoutWorkerOrderQianZi);
                }
                //-------------------------------------------------------------------------------------

            } else {
                CommUtils.setViewGone(layoutpingjia);
                CommUtils.setViewGone(layoutWorkerOrderQianZi);
            }

            //填充文本内容
            //2018年06月19日直接将该标签的内容去掉
            //helper.setText(R.id.textviewbaoxiustatetag,tagName);
            baseViewHolder.setText(R.id.textviewbaoxiutime, TextUtils.isEmpty(createTime) ? "" : createTime);
            baseViewHolder.setText(R.id.textviewstatebaoxiu, TextUtils.isEmpty(stateName) ? "" : stateName);
            //helper.setText(R.id.textviewstatebaoxiu,stateName);//根据状态值判断是否展示评价内容。

            //helper.setText(R.id.textviewcommunitynametrans,TextUtils.isEmpty(communityName)?"":communityName);
            baseViewHolder.setText(R.id.textviewcommunitbuilding, TextUtils.isEmpty(houseNo) ? "" : houseNo);
            //报修图片内容，报修类别文字
            baseViewHolder.setText(R.id.textviewcategory, TextUtils.isEmpty(categoryName) ? "" : categoryName);
            baseViewHolder.setText(R.id.textviewbaoxiucontent, TextUtils.isEmpty(repairContent) ? "" : repairContent);

            Glide.with(getContext())//
                    .load(imageUrlcategory)//
                    //.transition(withCrossFade())
                    //.fitCenter()//
                    //.centerCrop()
                    //.apply(RequestOptions.bitmapTransform(new CircleCrop()))//圆角图片,暂时屏蔽将来打开
                    .placeholder(R.drawable.iconerroryuan)//icon_errorfang
                    .error(R.drawable.iconerroryuan)//icon_errorfang
                    .fallback(R.drawable.iconerroryuan)//icon_errorfang
                    .into((ImageView) baseViewHolder.getView(R.id.imageviewcategory));//

            //以上是基本内容
            //下边是点击事件内容
//            baseViewHolder.addOnClickListener(R.id.layoutcall);//拨打电话布局
//            baseViewHolder.addOnClickListener(R.id.layoutworkerorderqianzi);//工单签字的功能
//            baseViewHolder.addOnClickListener(R.id.layoutpingjia);//评价布局
//            baseViewHolder.addOnClickListener(R.id.layoutlook);//查看进度布局内容

        }

    }
}
